const webpack = require('webpack');
const base = require('./webpack.base');

const path = require('path');
const projectRoot = path.resolve(__dirname, '../');

const env = process.env.NODE_ENV || 'development';

module.exports = Object.assign({}, base, {
    target: 'node', // 告诉 Webpack 是 node 代码的打包
    devtool: null, // 既然是 node 就不用 devtool 了
    entry: {
        app: path.join(projectRoot, 'server.js')
    },
    output: Object.assign({}, base.output, {
        path: path.join(projectRoot, 'build'),
        filename: 'bundle.server.js',
        libraryTarget: 'commonjs2' // 和客户端不同
    }),
    plugins: [
        new webpack.DefinePlugin({
            'process.env.NODE_ENV': JSON.stringify(env),
            'process.env.VUE_ENV': '"server"', // 配置 vue 的环境变量，告诉 vue 是服务端渲染，就不会做耗性能的 dom-diff 操作了
            'isBrowser': false
        })
    ]
});